/* 版本与更新信息 */
#define CATIME_VERSION "1.0.6-alpha1"

/* 鸣谢链接  猫屋敷梨梨Official*/
#define CREDIT_LINK_URL       "https://space.bilibili.com/26087398"

// 关于对话框图标尺寸
#define ABOUT_ICON_SIZE 200

// 关于对话框文本
#define IDC_ABOUT_TITLE L"Catime"
#define IDC_ABOUT_VERSION L"当前版本: "
#define IDC_COPYRIGHT_TEXT L"Copyright (C) 2025 By vladelaina"

/* 窗口尺寸增长量 */
#define WINDOW_HORIZONTAL_PADDING 190  //左右
#define WINDOW_VERTICAL_PADDING -5     //上下

/* 系统按键定义 */
#define VK_MEDIA_PLAY_PAUSE 0xB3
#define VK_MEDIA_STOP 0xB2
#define KEYEVENTF_KEYUP 0x0002

/* 主对话框与核心控件 */
#define IDI_CATIME 101
#define CLOCK_ID_TRAY_APP_ICON 1001
#define CLOCK_IDD_DIALOG1 1002
#define CLOCK_IDD_COLOR_DIALOG 1003
#define IDD_INPUTBOX 1004
#define IDC_STATIC_PROMPT 1005
#define IDC_EDIT_INPUT 1006
#define CLOCK_IDC_EDIT 108
#define CLOCK_IDC_BUTTON_OK 109
#define CLOCK_IDC_CUSTOMIZE_LEFT 112
#define CLOCK_IDC_EDIT_MODE 113
#define CLOCK_IDC_MODIFY_OPTIONS 114
#define CLOCK_IDC_STATIC 1001

/* 字体配置 */
// 字体菜单项
#define CLOCK_IDC_FONT_MENU 113
#define CLOCK_IDC_FONT_RECMONO 342
#define CLOCK_IDC_FONT_DEPARTURE 320
#define CLOCK_IDC_FONT_TERMINESS 343
#define CLOCK_IDC_FONT_GOHUFONT 346
#define CLOCK_IDC_FONT_YESTERYEAR 390
#define CLOCK_IDC_FONT_ZCOOL_KUAILE 391
#define CLOCK_IDC_FONT_PROFONT 392
#define CLOCK_IDC_FONT_DADDYTIME 393

// 新增字体菜单项
#define CLOCK_IDC_FONT_ARBUTUS 347
#define CLOCK_IDC_FONT_BERKSHIRE 348
#define CLOCK_IDC_FONT_CAVEAT 349
#define CLOCK_IDC_FONT_CREEPSTER 350
#define CLOCK_IDC_FONT_DOTGOTHIC 351
#define CLOCK_IDC_FONT_DOTO 352
#define CLOCK_IDC_FONT_FOLDIT 354
#define CLOCK_IDC_FONT_FREDERICKA 355
#define CLOCK_IDC_FONT_FRIJOLE 356
#define CLOCK_IDC_FONT_GWENDOLYN 358
#define CLOCK_IDC_FONT_HANDJET 359
#define CLOCK_IDC_FONT_INKNUT 360
#define CLOCK_IDC_FONT_JACQUARD 361
#define CLOCK_IDC_FONT_JACQUARDA 362
#define CLOCK_IDC_FONT_KAVOON 363
#define CLOCK_IDC_FONT_KUMAR_ONE_OUTLINE 364
#define CLOCK_IDC_FONT_KUMAR_ONE 365
#define CLOCK_IDC_FONT_LAKKI_REDDY 366
#define CLOCK_IDC_FONT_LICORICE 367
#define CLOCK_IDC_FONT_MA_SHAN_ZHENG 368
#define CLOCK_IDC_FONT_MOIRAI_ONE 369
#define CLOCK_IDC_FONT_MYSTERY_QUEST 370
#define CLOCK_IDC_FONT_NOTO_NASTALIQ 371
#define CLOCK_IDC_FONT_PIEDRA 372
#define CLOCK_IDC_FONT_PIXELIFY 373
#define CLOCK_IDC_FONT_PRESS_START 374
#define CLOCK_IDC_FONT_RUBIK_BUBBLES 376
#define CLOCK_IDC_FONT_RUBIK_BURNED 377
#define CLOCK_IDC_FONT_RUBIK_GLITCH_POP 378
#define CLOCK_IDC_FONT_RUBIK_GLITCH 379
#define CLOCK_IDC_FONT_RUBIK_MARKER_HATCH 380
#define CLOCK_IDC_FONT_RUBIK_PUDDLES 381
#define CLOCK_IDC_FONT_RUBIK_VINYL 382
#define CLOCK_IDC_FONT_RUBIK_WET_PAINT 383
#define CLOCK_IDC_FONT_RUGE_BOOGIE 384
#define CLOCK_IDC_FONT_SEVILLANA 385
#define CLOCK_IDC_FONT_SILKSCREEN 386
#define CLOCK_IDC_FONT_STICK 387
#define CLOCK_IDC_FONT_UNDERDOG 388
#define CLOCK_IDC_FONT_WALLPOET 389

// 字体资源ID
#define IDR_FONT_RECMONO 442
#define IDR_FONT_DEPARTURE 420
#define IDR_FONT_TERMINESS 443
#define IDR_FONT_GOHUFONT 446
#define IDR_FONT_YESTERYEAR 490
#define IDR_FONT_ZCOOL_KUAILE 491
#define IDR_FONT_PROFONT 492
#define IDR_FONT_DADDYTIME 493

// 新增字体资源ID
#define IDR_FONT_ARBUTUS 447
#define IDR_FONT_BERKSHIRE 448
#define IDR_FONT_CAVEAT 449
#define IDR_FONT_CREEPSTER 450
#define IDR_FONT_DOTGOTHIC 451
#define IDR_FONT_DOTO 452
#define IDR_FONT_FOLDIT 454
#define IDR_FONT_FREDERICKA 455
#define IDR_FONT_FRIJOLE 456
#define IDR_FONT_GWENDOLYN 458
#define IDR_FONT_HANDJET 459
#define IDR_FONT_INKNUT 460
#define IDR_FONT_JACQUARD 461
#define IDR_FONT_JACQUARDA 462
#define IDR_FONT_KAVOON 463
#define IDR_FONT_KUMAR_ONE_OUTLINE 464
#define IDR_FONT_KUMAR_ONE 465
#define IDR_FONT_LAKKI_REDDY 466
#define IDR_FONT_LICORICE 467
#define IDR_FONT_MA_SHAN_ZHENG 468
#define IDR_FONT_MOIRAI_ONE 469
#define IDR_FONT_MYSTERY_QUEST 470
#define IDR_FONT_NOTO_NASTALIQ 471
#define IDR_FONT_PIEDRA 472
#define IDR_FONT_PIXELIFY 473
#define IDR_FONT_PRESS_START 474
#define IDR_FONT_RUBIK_BUBBLES 476
#define IDR_FONT_RUBIK_BURNED 477
#define IDR_FONT_RUBIK_GLITCH_POP 478
#define IDR_FONT_RUBIK_GLITCH 479
#define IDR_FONT_RUBIK_MARKER_HATCH 480
#define IDR_FONT_RUBIK_PUDDLES 481
#define IDR_FONT_RUBIK_VINYL 482
#define IDR_FONT_RUBIK_WET_PAINT 483
#define IDR_FONT_RUGE_BOOGIE 484
#define IDR_FONT_SEVILLANA 485
#define IDR_FONT_SILKSCREEN 486
#define IDR_FONT_STICK 487
#define IDR_FONT_UNDERDOG 488
#define IDR_FONT_WALLPOET 489

/* 主菜单功能项 */
#define CLOCK_IDM_OPEN_FILE 125
#define CLOCK_IDM_RECENT_FILE_1 126
#define CLOCK_IDM_RECENT_FILE_2 127
#define CLOCK_IDM_RECENT_FILE_3 128
#define CLOCK_IDM_RECENT_FILE_4 129
#define CLOCK_IDM_RECENT_FILE_5 130
#define CLOCK_IDM_BROWSE_FILE 131
#define CLOCK_IDM_ABOUT 132
#define CLOCK_IDM_CHECK_UPDATE 133  // 添加检查更新菜单项ID

/* 番茄钟功能 */
#define CLOCK_IDM_POMODORO 500

// 在番茄钟菜单项部分添加
#define CLOCK_IDM_POMODORO_START 181   ///< 开始番茄钟
#define CLOCK_IDM_POMODORO_WORK 182    ///< 设置工作时间
#define CLOCK_IDM_POMODORO_BREAK 183   ///< 设置短休息时间
#define CLOCK_IDM_POMODORO_LBREAK 184  ///< 设置长休息时间
#define CLOCK_IDM_POMODORO_LOOP_COUNT 185 ///< 设置循环次数
#define CLOCK_IDM_POMODORO_COMBINATION 188 ///< 番茄钟组合
#define CLOCK_IDM_POMODORO_RESET 186  ///< 重置番茄钟

/* 番茄钟对话框 */
#define CLOCK_IDD_POMODORO_TIME_DIALOG 510
#define CLOCK_IDD_POMODORO_LOOP_DIALOG 513

/* 多语言支持 */
#define CLOCK_IDM_LANGUAGE_MENU 160
#define CLOCK_IDM_LANG_CHINESE 161
#define CLOCK_IDM_LANG_ENGLISH 162
#define CLOCK_IDM_LANG_CHINESE_TRAD 163
#define CLOCK_IDM_LANG_SPANISH 164
#define CLOCK_IDM_LANG_FRENCH 165
#define CLOCK_IDM_LANG_GERMAN 166
#define CLOCK_IDM_LANG_RUSSIAN 167
#define CLOCK_IDM_LANG_PORTUGUESE 168
#define CLOCK_IDM_LANG_JAPANESE 169
#define CLOCK_IDM_LANG_KOREAN 170

/* 计时器功能 */
#define CLOCK_IDM_COUNT_UP_START 171
#define CLOCK_IDM_COUNT_UP_RESET 172
#define CLOCK_IDM_COUNT_UP         153
#define CLOCK_IDM_COUNTDOWN_START_PAUSE 154
#define CLOCK_IDM_COUNTDOWN_RESET 155
#define CLOCK_IDC_TIMEOUT_BROWSE 140
#define CLOCK_IDC_MODIFY_TIME_OPTIONS 156
#define CLOCK_IDC_MODIFY_DEFAULT_TIME 157
#define CLOCK_IDC_SET_COUNTDOWN_TIME 173
#define CLOCK_IDC_START_NO_DISPLAY 174
#define CLOCK_IDC_START_COUNT_UP 175
#define CLOCK_IDC_AUTO_START 160
#define CLOCK_IDC_START_SHOW_TIME 176

/* 超时动作 */
#define CLOCK_IDM_TIMEOUT_ACTION 120
#define CLOCK_IDM_SHOW_MESSAGE 121
#define CLOCK_IDM_LOCK_SCREEN 122
#define CLOCK_IDM_SHUTDOWN 123
#define CLOCK_IDM_RESTART 124
#define CLOCK_IDM_CURRENT_FILE 127   // 当前文件菜单项ID
#define CLOCK_IDM_TIMEOUT_SHOW_TIME 135  // 超时动作：显示当前时间
#define CLOCK_IDM_TIMEOUT_COUNT_UP 136   // 超时动作：正计时
#define CLOCK_IDM_OPEN_WEBSITE 137     // 超时动作：打开网站
#define CLOCK_IDM_CURRENT_WEBSITE 138  // 当前网站菜单项ID

/* 显示与视觉效果 */
#define BLUR_OPACITY 192
#define BLUR_TRANSITION_MS 200
#define CLOCK_IDM_SHOW_CURRENT_TIME 150
#define CLOCK_IDM_24HOUR_FORMAT    151
#define CLOCK_IDM_SHOW_SECONDS     152

/* 系统常量 */
#define CSIDL_STARTUP 0x0007
#define MAX_RECENT_FILES 5
#define MAX_TIME_OPTIONS 10
#define MIN_SCALE_FACTOR 0.5f
#define MAX_SCALE_FACTOR 100.0f
#define CLOCK_WM_TRAYICON (WM_USER + 2)

/* 关于对话框 */
#define IDD_ABOUT_DIALOG 1050
#define IDC_ABOUT_ICON 1005
#define IDC_VERSION_TEXT 1006
#define IDC_LIBS_TEXT 1007
#define IDC_AUTHOR_TEXT 1008
#define IDC_ABOUT_OK 1009
#define IDC_BUILD_DATE 1010
#define IDC_COPYRIGHT 1011
#define IDC_CREDITS_LABEL 1012    // "鸣谢："标签
#define IDC_CREDIT_LINK   1013    // 可点击的链接
#define IDS_CREDITS_TEXT 1014     // 字符串资源ID

// 新增：底部链接控件ID
#define IDC_CREDITS  1015         // 鸣谢按钮
#define IDC_FEEDBACK 1016         // 反馈按钮
#define IDC_GITHUB   1017         // GitHub按钮
#define IDC_COPYRIGHT_LINK 1018   // 版权声明按钮 (原 IDC_LICENSE)
#define IDC_SUPPORT  1019         // 支持按钮 (原 IDC_DONATE)

// 在原有链接ID后面添加反馈和GitHub的链接ID
#define IDC_FEEDBACK_LINK 1020         // 反馈链接
#define IDC_GITHUB_LINK   1021         // GitHub链接

// 鸣谢对话框相关
#define IDD_CREDITS_DIALOG    2000
#define IDC_CREDITS_TITLE     2001
#define IDC_CREDITS_TEXT      2002
#define IDC_CREDITS_MAX       2010
#define IDC_CREDITS_XUJILONG  2011
#define IDC_CREDITS_ZGGSONG   2012
#define IDC_CREDITS_NEKO      2013
#define IDC_CREDITS_MOJI      2014
#define IDC_CREDITS_LIKANG    2015
#define IDC_CREDITS_WUMING    2016
#define IDC_CREDITS_FLYING    2017
#define IDC_CREDITS_CAT       2018
#define IDC_CREDITS_RSYQVTHV  2019
#define IDC_CREDITS_HAMSTER   2020
#define IDC_CREDITS_MALOU     2021
#define IDC_CREDITS_VOLCANO   2022
#define IDC_CREDITS_SHEEP     2023
#define IDC_CREDITS_QINGYANG  2024
#define IDC_CREDITS_WILLIAM   2025  // 新增：William
#define IDC_CREDITS_WANGYE    2026  // 新增：王野
#define IDC_CREDITS_FENGZENG  2027  // 新增：风增
#define IDC_CREDITS_ZHUJIU    2028  // 新增：煮酒论科技
#define IDC_CREDITS_TIANCHUN  2029  // 新增：田春

// 其他常用链接
#define URL_GITHUB_REPO     L"https://github.com/vladelaina/Catime"
#define URL_FEEDBACK        L"https://message.bilibili.com/#/whisper/mid1862395225"

// 支持对话框相关
#define IDD_SUPPORT_DIALOG    3000
#define IDC_SUPPORT_TEXT      3001
#define IDC_SUPPORT_WECHAT    3002
#define IDC_SUPPORT_ALIPAY    3003
#define IDC_WECHAT_LABEL      3004
#define IDC_ALIPAY_LABEL      3005
#define IDI_WECHAT            3006
#define IDI_ALIPAY            3007

// 许可证对话框相关
#define IDD_LICENSE_DIALOG    4000
#define IDC_LICENSE_TEXT      4001

// 颜色对话框相关
#define IDD_COLOR_DIALOG 1003
#define IDC_COLOR_VALUE 1301
#define IDC_COLOR_PANEL 1302

// 启动时间设置对话框相关
#define IDD_STARTUP_TIME_DIALOG 1005
#define IDC_STARTUP_TIME 1401

// 快捷时间选项和启动设置对话框
#define CLOCK_IDD_SHORTCUT_DIALOG 1006
#define CLOCK_IDD_STARTUP_DIALOG 1007

// 错误对话框相关
#define IDD_ERROR_DIALOG    5000
#define IDC_ERROR_ICON      5001  
#define IDC_ERROR_TEXT      5002

// 在预设管理菜单项部分添加
#define CLOCK_IDM_TOPMOST 187  // 置顶选项ID

// 添加网站URL输入对话框
#define CLOCK_IDD_WEBSITE_DIALOG 1008

// 修改动态ID基址
#define CLOCK_IDM_POMODORO_TIME_BASE 600  // 番茄钟时间菜单项的基础ID

// 添加番茄钟组合对话框ID
#define CLOCK_IDD_POMODORO_COMBO_DIALOG 514

// 通知设置对话框相关
#define CLOCK_IDD_NOTIFICATION_MESSAGES_DIALOG 1010
#define IDC_NOTIFICATION_LABEL1 1020
#define IDC_NOTIFICATION_EDIT1 1021
#define IDC_NOTIFICATION_LABEL2 1022
#define IDC_NOTIFICATION_EDIT2 1023
#define IDC_NOTIFICATION_LABEL3 1024
#define IDC_NOTIFICATION_EDIT3 1025

// 通知设置菜单项
#define CLOCK_IDM_NOTIFICATION_CONTENT 191
#define CLOCK_IDM_NOTIFICATION_DISPLAY 192

// 通知设置对话框相关 - 添加新控件ID
#define CLOCK_IDD_NOTIFICATION_DISPLAY_DIALOG 1011
#define IDC_NOTIFICATION_TIME_LABEL 1030
#define IDC_NOTIFICATION_TIME_EDIT 1031
#define IDC_NOTIFICATION_OPACITY_LABEL 1032
#define IDC_NOTIFICATION_OPACITY_EDIT 1033

// 新增：通知最大透明度配置
extern int NOTIFICATION_MAX_OPACITY;
